<?php
/**
 * <https://y.st./>
 * Copyright © 2016 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'title' => 'Someone wanted to buy <code>//y.st.</code>!',
	'body' => <<<END
<p>
	I spent most of the day cleaning up around the house, but I did get several other things done as well.
</p>
<p>
	I checked on the spider again today and it will take over six months to crawl just the pages of the site that is working on that it has already found.
	As it finds more pages, that time frame can only go up.
	It is quite obvious that its current crawling style is not efficient enough and I have shut it down until I can fix it.
	It should mostly find pages using the method it currently employs, but with the exception that any site that has not been crawled before should have its index page downloaded to fill in the title in the database and to even check to see if the site is running and accessible.
	Before I can set that up, I need to get scheme-specific normalization set up and figure out how to connect to $a[IRC] servers to insure that they are up.
	I&apos;ve been rather behind lately though, so it will be a while before I can work on this.
	In the mean time, there is no point in having the spider continue its crawling.
	I&apos;m moving before the next time that it saves anything to the database and will have to shut down the spider anyway at that point.
</p>
<p>
	Someone sent me an email using the email address from my whois records.
	They wanted to buy my domain off me! No specific price offers were made, but he asked if I was willing to part with the name and asked what price I wanted for it.
	I explained that I couldn&apos;t part with the name, but that if he was looking for a short name, he might be able to save himself some effort if he took a look at <a href="/en/URI_research/ccTLDs.xhtml">my notes</a> from when I was looking for a short domain.
	He said that he had done something similar, but that my notes are more extensive, then asked if he could combine our notes and host them on Github! I told him that my notes are covered by the $a[GNU] {$a['GPLv3+']} and that he could do whatever he liked with them.
	He never responded to that.
	Perhaps the free copyleft software license scared him off, as I noticed that the software and services on his own site are proprietary.
	He also showed me an article about <a href="http://blog.park.io/articles/the-shortest-possible-domain-names/">finding short name</a> that is meant to be more interesting and less comprehensive.
	It seems to fail to recognize that periods are characters when measuring domain name length, but is otherwise an interesting read and is somewhat nostalgic, reminding me of what I saw while looking for my own name.
</p>
<p>
	Him attempting to purchase my domain prompted me to take a look at the available names at the <code>//st.</code> registry again.
	As I had guessed, all single-character labels have now been registered! Ant to think, I had been crazy enough to consider putting off registration of this domain.
	I thought that it might be funny to register it on February 29, seeing as that day only comes once every four years.
	It&apos;s arbitrary to be sure, but it would have amused me.
	I decided not to wait though on the grounds that I had just lost my website including my weblog when my hard drive had died.
	The sooner I could register the domain, the sooner I could set up a new weblog and get back to having an outlet for my thoughts.
	While that dead hard drive cost me over a month worth of weblog entries that I was going to migrate to my new short-domain site, it may have saved me from missing out on getting a short name at all.
	I&apos;ve learned my lesson too.
	Don&apos;t wait, good names will be snatched up.
</p>
<p>
	I&apos;ve decided to take one of my onion addresses, probably <a href="/en/domains/sbuk7aqcxkoyipwv.onion.xhtml">sbuk7aqcxkoyipwv.onion.</a>, and use it to allow access by $a[Tor] users to services that typically block $a[Tor] users.
	This will be done with basic onion port forwarding; there won&apos;t be any sort of interceptions and transformations by my machine.
	Web services are off the table, as Host headers will not only give away what is happening, but also will confuse the Web server; it won&apos;t know what website it should provide access to.
	The only $a[Tor]-blocking services that I know of right now that this sort of setup will work with are $a[IRC] servers.
	I won&apos;t be able to use my onion to connect with these servers myself though, due to the fact that they expose my $a[IP] address by design.
	Other people can hide who they are by using my $a[IP] address, but for me to use it, I would need to use someone else&apos;s $a[IP] address.
	I can&apos;t guarantee that my service will remain unblocked for very long, though perhaps it will help a few people for a while before it gets inevitably blocked.
	I might reserve some of the ports for internal use, such as port 80 to provide access to a Web page explaining how to get in touch with me and get a service added to my onion.
	I&apos;ll probably look through all the registered schemes, reserve any default ports used by them, then assign the other ports in order starting from one ($a[Tor] cannot forward port zero) on a first-come first-serve basis.
	I discussed the idea with <a href="http://ronsor.net/">Ronsor</a> for a bit, and I don&apos;t think that there will be any issues.
	Potentially, my $a[IP] address will be banned, but that seems a small price to pay when I&apos;m not an exit node yet and I don&apos;t otherwise use my home $a[IP] address to connect to places.
</p>
<blockquote><p>
	16:07 &lt;Yst&gt; I&apos;ve been thinking about it on and off for months.
	I think that I&apos;m going to set up an onion address that redirects requests to servers that maliciously discriminate against Tor users.
	Tor users will be able to use my IP address to connect to these services.<br/>
16:08 &lt;Yst&gt; I&apos;ll probably set up a request form on a Web page.<br/>
16:08 &lt;Yst&gt; Then another page with currently-available redirects.<br/>
16:08 &lt;@Ronsor&gt; but wont they browse CP via your connection<br/>
16:08 &lt;@Ronsor&gt; or drugs or guns<br/>
16:08 &lt;Yst&gt; It&apos;s not an open proxy, it can&apos;t connect to arbitrary places.<br/>
16:08 &lt;@Ronsor&gt; now for the sarcastic part: ``needs more children&apos;&apos;<br/>
16:08 &lt;@Ronsor&gt; oh<br/>
16:08 &lt;@Ronsor&gt; so it just redirects a few sites<br/>
16:08 &lt;@Ronsor&gt; e.g.
	google<br/>
16:08 &lt;Yst&gt; It only forwards to specific services.<br/>
16:08 &lt;Yst&gt; It&apos;s port-based.<br/>
16:09 &lt;Yst&gt; So &lt;onion&gt;:994 might be freenode, while &lt;onion&gt;:443 might be Google.<br/>
16:10 &lt;@Ronsor&gt; oh<br/>
16:10 &lt;@Ronsor&gt; nice<br/>
16:10 &lt;@Ronsor&gt; cuz google isn&apos;t tor-friendly<br/>
16:10 &lt;Yst&gt; No, not at all.<br/>
16:10 &lt;@Ronsor&gt; i tried using it over tor<br/>
16:10 &lt;@Ronsor&gt; i got horrible old unreadable captchas<br/>
16:10 &lt;@Ronsor&gt; to do anything<br/>
16:11 &lt;Yst&gt; Yeah.
	Sometimes they don&apos;t even have the CAPTCHAs though, they just outright block you.<br/>
16:11 &lt;@Ronsor&gt; ikr<br/>
16:11 &lt;@Ronsor&gt; i tried as a test to signup for a &apos;Google-over-Tor&apos; Account<br/>
16:12 &lt;@Ronsor&gt; couldn&apos;t get past captcha<br/>
16:12 &lt;Yst&gt; I&apos;m not sure if a redirect to Google will actually work though, that was just an example.
	HTTP requests contain Host headers, so Google&apos;s servers would be getting hit with requests for the onion address and not know what site to serve.<br/>
16:13 &lt;@Ronsor&gt; yeah<br/>
16:13 &lt;@Ronsor&gt; and you can&apos;t mitm<br/>
16:13 &lt;@Ronsor&gt; that&apos;s suspicious<br/>
16:14 &lt;Yst&gt; I won&apos;t man in the middle, even ethics aside.
	It&apos;s outside the scope of what I want to do.
	I don&apos;t want my server even seeing the unencrypted messages.<br/>
16:14 &lt;@Ronsor&gt; yeah<br/>
16:14 &lt;@Ronsor&gt; maybe you could send people a HOSTS file<br/>
16:15 &lt;@Ronsor&gt; and a script to setup proxen for ips: e.g.
	127.56.1.2:443 -&gt; google.com<br/>
16:15 &lt;@Ronsor&gt; and ncat for a proxy<br/>
16:15 &lt;Yst&gt; Huh.
	That&apos;s a thought.
	I might have to look into setting something up like that.<br/>
16:16 &lt;Yst&gt; Ronsor: Do you mind if I quote this conversation?<br/>
16:16 &lt;@Ronsor&gt; Yst: i don&apos;t mind
</p></blockquote>
<p>
	When I set up the flash proxy badge at the top of my clearnet website, I had to modify the code a bit to get it to pass validation.
	Specifically, the <code>&lt;iframe/&gt;</code> tag is deprecated in $a[XHTML] 1.1, so I had to replace it with an <code>&lt;object/&gt;</code>code> tag.
	However, now that my site is using $a[XHTML]5, I can once again use <code>&lt;iframe/&gt;</code>s, so I copied the code givn for the flash proxy bade on its instruction page.
	I ran into a couple issues though.
	First, a couple of the attributes are still deprecated, so those needed to be removed.
	Even stranger though, I found that nothing is allowed to go between the <code>&lt;iframe&gt;</code> and <code>&lt;/iframe&gt;</code> tags.
	No elements, no plain text, nothing.
	So why is there a start and end tag? That&apos;s just idiotic.
	Because I use $a[XHTML], I was able to fix this by making it into one self-closing tag.
	However, if I were using $a[HTML], this would not be an option and I would been to use this pointless end tag.
</p>
<p>
	Someone that prefers not to be mentioned by name would prefer that I run my $a[IRC] server in a more anarchic way, allowing anything that happens to happen.
	Last time I did this, he and I shared a network, and legal threats were made.
	One of the channels had sort of become a tiny haven for people of a particular illegal persuasion.
	It was of no fault of my own and was not something that I ever engaged in.
	I was the one running the clearnet end of things though, so I was the one open to the possibility of these legal threats.
	To top it off, he was a bit of a hothead at the time, and had been actively provoking trolls from the safety of onion space.
	The legal threats were made partially in retaliation.
	While the trolls were to blame, my partner at the time had been taking unnecessary risks in provoking them.
	In any case, I had to cut my partnership with him in self defense.
	His network lives on in onion space, but to avoid such issues on my network, I put rules in place forbidding illegal activity.
	This person that prefers not to be mentioned by name pulled up a Wikipedia article on <a href="https://en.wikipedia.org/wiki/Section_230_of_the_Communications_Decency_Act">Section 230 of the Communications Decency Act</a>, which in theory, should absolve me of liability as long as I don&apos;t participate in the illegal activities.
	I&apos;m going to keep it kind of on the down low, but with this new information in hand, I won&apos;t really enforce the network&apos;s policy against illegal discussions, at least not using technical means.
	I don&apos;t want to be overly restrictive.
	At the same time though, I am not going to remove the policy.
	My server is trapped in onion space by my $a[ISP]&apos;s restrictive policies; I&apos;m not in onion space to hide.
	I want a mostly-legal place to discuss, I don&apos;t want to run an illegal underground chat platform.
	I may go into channels and remind people of network policy, but until actual legal action is taken, I won&apos;t ban anyone from the network or forcibly disband channels.
	To discuss the matter of my unofficial policy to refrain from using technical measures to enforce our official network policy, should the need arise, I&apos;ve set up the channel <a href="ircs://authorednansyxlu.onion/%38;Section230">&amp;Section230</a>, a channel that only exists on one server, even if other servers are added.
	I&apos;m not sure that ChanServ will be able to protect this channel once services are up though, as ChanServ acts from what is implemented as a second server.
</p>
END
);
